Database queries performed over networks can experience various bottlenecks which may impact on performance. Possible bottlenecks may include one or more of the database configuration and design, the operating systems, the network protocols, application layer database query software for performing queries, inserts and updates, and various hardware limitations such as disk I/O performance and caching, available processing power, available memory, and network bandwidth limitations.
While computer and network hardware limitations may be addressed by upgrading performance limiting hardware if a bottleneck is in the operating system, network protocol, or data query software, then addressing the performance issues may become imperative. More specifically, if a data transfer protocol is limited to performing queries through a single network connection, as is often found in database installations, then the network throughput may be a bottleneck no matter the capability of the hardware resources. Even if a client-server system allows multiple logical connections between clients and the server, each logical connection uses one network connection to communicate with the server, and it is still necessary to effectively manage these connections for unpredictable database traffic between the client and server. Therefore, what is needed is an improved data transfer protocol, system and method which addresses at least some of these limitations in the prior art.